\begin{problem}{Перестановки strike back}{permutation2.in}{permutation2.out}{5 секунд}{256 мебибайт}

%Author: Akim Kumok
%Text Author: Akim Kumok

Вася выписал на доске в каком-то порядке все числа от 1 по $N$, каждое число ровно по одному разу. Иногда он стирает какое-то число и записывает на 
его место другое. Количество чисел, выписанных Васей, оказалось довольно болшим, поэтому Вася не может окинуть взглядом все числа. Однако ему надо 
всё-таки представлять эту последовательность, поэтому он написал программу, которая в любой момент отвечает на вопрос~--- сколько среди чисел, стоящих на
позициях с $x$ по $y$, по величине лежат в интервале от $k$ до $l$. Сделайте то же самое.

\InputFile

В первой строке лежит два натуральных числа --- $1\leqslant N\leqslant 100\,000$ --- количество чисел, которые выписал Вася и 
$1\leqslant M\leqslant 100\,000$ --- суммарное количесто вопросов и изменений сделанных Васей.
Во второй строке дано $N$ чисел --- последовательность чисел, выписанных Васей.
Далее в $M$ строках находятся описания вопросов. Каждый запрос на изменение числа в некоторой позиции начинается со слова {\tt SET} и имеет вид
{\tt SET a b} ($1\leqslant a\leqslant N$, $1\leqslant b\leqslant N$). Это означает, что Вася изменил число, записанное в позиции $a$ на число $b$. Каждый Васин вопрос 
начинается со слова {\tt GET} и имеет вид {\tt GET x y k l} ($1\leqslant x\leqslant y\leqslant N$, $1\leqslant k\leqslant l\leqslant N$).

\OutputFile

Для каждого Васиного вопроса выведите единственное число~--- ответ на Васин вопрос.

\Example

\begin{example}%
\exmp{
4 4
1 2 3 4
GET 1 2 2 3
GET 1 3 1 3
SET 1 4
GET 1 3 1 3
}{
1
3
2
}%
\end{example}

\end{problem}
